package org.standard.dic.service;

import java.util.List;

import org.standard.commons.exception.InfrastructureException;
import org.standard.dic.model.Dic;

public interface DicService {

	/**
	 * 查找系统代码主分类
	 * 
	 * @exception InfrastructureException
	 * @return
	 */
	public abstract List<Dic> searchAllTopCode();

	
	
	/**
	 * 查找系统主分类代码的编号和名称
	 * 
	 * @exception InfrastructureException
	 * @return
	 */

	public Dic searchTopCodeByNo(String dicno);
	

	/**
	 * 修改代码信息
	 * 
	 * @param Dic
	 *            dic对象
	 * @return char SUCCESS OR FAIL OR REPEAT 成功或者失败
	 * @author wang zitao
	 */
	public abstract char modifyCode(Dic dic);

	/**
	 * 添加系统代码
	 * 
	 * @param dic
	 *            Dic对象
	 * @return char SUCCESS OR FAIL 成功或者失败
	 * @author wangzt
	 */

	public abstract char createCode(Dic dic);

	/**
	 * 删除代码类
	 * 
	 * @param dicNo
	 *            要删除的代码编号
	 * @return char SUCCESS OR FAIL 成功或者失败
	 * @author wangzt
	 */

	public abstract char deleteCode(String dicId,String dicNo);
	
	
	/**
     * 通过系统编号查找系统分类代码
     * 用于编辑代码
	 * @author wang zitao
	 * @param dicno本级代码编号
	 * @return 代码信息
	 */
	public abstract List<Dic> searchCodeByNo(String dicno,String dicNoParent);

	
	public abstract List searchNextCodeByNo(String dicno);
	
	
	/**
	 * 删除二级代码类
	 * 
	 * @param dicId
	 *            要删除的代码序号
	 * @return char SUCCESS OR FAIL 成功或者失败
	 * @author wangzt
	 */
	public abstract char deleteNextCode(String dicId);
	
	/**
	 * 添加二级系统代码
	 * 
	 * @param Dic
	 *            Dic对象
	 * @return char SUCCESS OR FAIL 成功或者失败
	 * @author wangzt
	 */
	public abstract char createNextCode(Dic dic);
	
	
	/**
	 * 通过dicId查找自定义代码
	 * 
	 * @exception InfrastructureException
	 * @return dic
	 */
	public Dic searchCodeById(String dicId);
	
}